package cn.com.cifi.mars.mapper.mars;

import java.util.List;

import cn.com.cifi.mars.bean.dto.MonthAvgSaleRateDeviationDto;
import cn.com.cifi.mars.bean.dto.MymContractDto;
import cn.com.cifi.mars.bean.dto.MymGetinDto;
import cn.com.cifi.mars.bean.dto.MymOrderDto;
import cn.com.cifi.mars.entity.MymContract;
import cn.com.cifi.mars.entity.MymRooms;

import org.apache.ibatis.annotations.Param;

/**
 * 组织机构
 * @author 60157
 *
 */
public interface MymMapper{

	int selectOrderCount();
	
	List<MymOrderDto> selectOrders();
	
	int selectContractCount();
	
	List<MymContractDto> selectContracts();
	
	int selectGetinCount();

	List<MymGetinDto> selectGetins();

	/**
	 * @param kingdeeProjectfId 金蝶分期id
	 * @return List<MymContractDto>
	 */
	List<MymContractDto> selectNewestContractsByProjectFid(@Param("kingdeeProjectfId") String kingdeeProjectfId);

	/**
	 *
	 * @param bldPrdIDs 业态楼栋IDS
	 * @return List<MymContractDto>
	 */
	List<MymContractDto> selectMymContractList(@Param("bldPrdIDs")List<String> bldPrdIDs);

	/**
	 * @param bldPrdIDs 业态楼栋IDS
	 * @param beginTime 开始时间
	 * @param endTime 结束时间
	 * @param status 状态
	 * @return String
	 */
	String selectMymCjRmbTotal(@Param("bldPrdIDs")List<String> bldPrdIDs,
			@Param("beginTime")String beginTime,@Param("endTime")String endTime,@Param("status")String status);

	/**
	 * @param productName 业态编码
	 * @param beginTime 开始时间
	 * @param endTime 结束时间
	 * @param status 状态
	 * @return String
	 */
	String selectMymCommercialAmount(@Param("productName")String productName, 
			@Param("beginTime")String beginTime,@Param("endTime") String endTime,
			@Param("status")String status);

	/**
	 * @param productName 业态编码
	 * @param year 年份
	 * @param status 状态
	 * @return String
	 */
	String selectMymLastYearCommercialAmount(@Param("productName")String productName, 
			@Param("year")String year,
			@Param("status")String status);

	/**
	 * @param productName 业态编码
	 * @param beginTime 开始时间
	 * @param endTime 结束时间
	 * @param status 状态
	 * @return List<MonthAvgSaleRateDeviationDto>
	 */
	List<MonthAvgSaleRateDeviationDto> selectMymCommercialTimeNum(@Param("productName")String productName,
				@Param("beginTime")String beginTime,@Param("endTime") String endTime,
				@Param("status")String status);

	/**
	 * @param productName 业态编码
	 * @param year 年份
	 * @param status 状态
	 * @return List<MonthAvgSaleRateDeviationDto>
	 */
	List<MonthAvgSaleRateDeviationDto> selectMymLastYearCommercialTimeNum(@Param("productName")String productName,
			@Param("year")String year,
			@Param("status")String status);

	/**
	 * @param isDel 是否删除
	 * @return List<String>
	 */
	List<String> selectMyCodeList(@Param("isDel")String isDel);
	
	/**
	 * 查询明源签约视图
	 * @param month
	 * @return
	 */
	List<MymContract> selectAllContract(@Param("month") int month);
	
	/**
	 * 增加明源签约视图
	 * @param list
	 */
	void insertContractList(@Param("list")List<MymContract> list);
	
}
